package com.wicket.okrapp.biz.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import java.util.Objects;

/**
 * @desc AchievementDockingDto
 * @使用场景
 */
@Data
public class AchievementDockingDto extends BaseDto implements Serializable {

  /**
   * 对接成果关系ID
   */
  @ApiModelProperty("对接成果关系ID")
  private String achievementDockingId;

  /**
   * 关联成果ID
   */
  @ApiModelProperty("关联成果ID")
  private String achievementId;

  /**
   * 成果等级ID
   */
  @ApiModelProperty("成果等级ID")
  private String achievementGradeId;

  /**
   * 成果等级编号
   */
  @ApiModelProperty("成果等级编号")
  private String achievementGradeNumber;

  /**
   * 成果等级名称
   */
  @ApiModelProperty("成果等级名称")
  private String achievementGradeName;

  /**
   * 是否标志性成果 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否标志性成果")
  private String isSymbolicAchievement;

  /**
   * 版权归属对象表类型 ORGANIZATION:组织 DEPARTMENT:部门 PERSONAL:个人
   */
  @ApiModelProperty("版权归属对象表类型")
  private String copyrightObjectTypeCode;

  /**
   * 版权归属对象ID
   */
  @ApiModelProperty("版权归属对象ID")
  private String copyrightObjectId;

  /**
   * 版权归属对象名称
   */
  @ApiModelProperty("版权归属对象名称")
  private String copyrightObjectName;

  /**
   * 业绩责任部门ID
   */
  @ApiModelProperty("业绩责任部门ID")
  private String dutyDeptId;

  /**
   * 业绩责任部门名称
   */
  @ApiModelProperty("业绩责任部门名称")
  private String dutyDeptName;
/**
     * 成果类型ID 
     */
    @ApiModelProperty("成果类型ID")
    private String	 achievementTypeId;

    /**
     * 授予时间 
     */
    @ApiModelProperty("授予时间")
    private Date	 awardedTime;

    /**
     * 归属周期阶段资料ID 
     */
    @ApiModelProperty("归属周期阶段资料ID")
    private String	 cycleStageDataId;

    /**
     * 归属子周期周期ID 
     */
    @ApiModelProperty("归属子周期周期ID")
    private String	 cycleId;

    /**
     * 归属工作目标子周期ID 
     */
    @ApiModelProperty("归属工作目标子周期ID")
    private String	 evaObjTargetCycleId;

    /**
     * 归属目标内容类型编码 PRIMARY_OBJTIVE_LEAD_DEPT:一级指标牵头部门 EVA_SUBJECT:评价对象主体
     */
    @ApiModelProperty("归属目标内容类型编码")
    private String	 targetCycleContentTypeCode;

    /**
     * 归属目标内容ID 
     */
    @ApiModelProperty("归属目标内容ID")
    private String	 targetCycleContentId;

    /**
     * 冗余一级目标分类ID 
     */
    @ApiModelProperty("冗余一级目标分类ID")
    private String	 rootTargetCategoryId;

    /**
     * 归属评价模板ID 
     */
    @ApiModelProperty("归属评价模板ID")
    private String	 evaluationTemplateId;

    /**
     * 归属评价主题ID 
     */
    @ApiModelProperty("归属评价主题ID")
    private String	 evaluationSubjectId;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String	 subjectLifeCycle;
/**
     * 成果类型编号 
     */
    @ApiModelProperty("成果类型编号")
    private String	 achievementTypeNumber;

    /**
     * 成果类型名称 
     */
    @ApiModelProperty("成果类型名称")
    private String	 achievementTypeName;

    /**
     * 成果类别ID 
     */
    @ApiModelProperty("成果类别ID")
    private String	 achievementCategoryId;

    /**
     * 成果类别编号 
     */
    @ApiModelProperty("成果类别编号")
    private String	 achievementCategoryNumber;

    /**
     * 成果类别名称 
     */
    @ApiModelProperty("成果类别名称")
    private String	 achievementCategoryName;

    /**
     * 更新周期ID 
     */
    @ApiModelProperty("更新周期ID")
    private String	 updateCycleId;

    /**
     * 成果所属主体类型编码 DEPT_TARGET_ROOT:部门目标任务书根节点 PERFORMANCE_EVA_SUBJECT_ROOT:绩效评价对象根节点
     */
    @ApiModelProperty("成果所属主体类型编码")
    private String	 achievementBelongBodyTypeCode;

    /**
     * 成果所属主体ID 
     */
    @ApiModelProperty("成果所属主体ID")
    private String	 achievementBelongBodyId;

    /**
     * 操作人就职记录ID 
     */
    @ApiModelProperty("操作人就职记录ID")
    private String	 operationInductionId;

    /**
     * 操作时间 
     */
    @ApiModelProperty("操作时间")
    private Date	 operateTime;

    /**
     * 创建时间 
     */
    @ApiModelProperty("创建时间")
    private Date	 createTime;
/**
     * 冗余一级指标ID 
     */
    @ApiModelProperty("冗余一级指标ID")
    private String	 rootObjectiveId;
/**
     * 任务名称 
     */
    @ApiModelProperty("任务名称")
    private String	 taskName;
/**
     * 成果编号 
     */
    @ApiModelProperty("成果编号")
    private String	 achievementNumber;

    /**
     * 成果名称 
     */
    @ApiModelProperty("成果名称")
    private String	 achievementName;

    /**
     * 相关文号 
     */
    @ApiModelProperty("相关文号")
    private String	 relatedDocument;

    /**
     * 授予单位 
     */
    @ApiModelProperty("授予单位")
    private String	 awardedUnit;

    /**
     * 有效期结束时间 
     */
    @ApiModelProperty("有效期结束时间")
    private Date	 validEndTime;
/**
     * 成果介绍 
     */
    @ApiModelProperty("成果介绍")
    private String	 achievementDesc;
/**
     * 文档关系ID 
     */
    @ApiModelProperty("文档关系ID")
    private String	 unstructuredDataRelationshipId;

    /**
     * 文档ID 
     */
    @ApiModelProperty("文档ID")
    private String	 unstructuredDataId;

    /**
     * 主题内容ID 
     */
    @ApiModelProperty("主题内容ID")
    private String	 themeContentId;

    /**
     * 文档编号 
     */
    @ApiModelProperty("文档编号")
    private String	 unstructuredDataNumber;

    /**
     * 文档名称 
     */
    @ApiModelProperty("文档名称")
    private String	 unstructuredDataName;

    /**
     * 文档后缀 
     */
    @ApiModelProperty("文档后缀")
    private String	 postfix;

    /**
     * 文件大小 
     */
    @ApiModelProperty("文件大小")
    private String	 fileSize;

    /**
     * 文件相对路径地址 
     */
    @ApiModelProperty("文件相对路径地址")
    private String	 fileRelativePathAccess;

    /**
     * 文件全路径地址
     */
    @ApiModelProperty("文件全路径地址")
    private String	 fileRelativeAllPathAccess;

    /**
     * 文档明细类型 WORD:WORD文档 EXCEL:EXCEL文档 PDF:PDF文档
     */
    @ApiModelProperty("文档明细类型")
    private String	 unstructuredDataDetailType;

    /**
     * 是否支持预览 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否支持预览")
    private String	 isSupportPreview;

    /**
     * 是否来自个人网盘文件 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否来自个人网盘文件")
    private String	 isUserUpload;

    /**
     * 文件夹ID 
     */
    @ApiModelProperty("文件夹ID")
    private String	 unstructuredDataFolderId;

    /**
     * 排序 
     */
    @ApiModelProperty("排序")
    private Long	 orderNumber;

    /**
     * 创建人就职记录ID 
     */
    @ApiModelProperty("创建人就职记录ID")
    private String	 createInductionId;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      AchievementDockingDto that = (AchievementDockingDto) o;
      return  achievementDockingId == that.achievementDockingId&&achievementId == that.achievementId&&achievementGradeId == that.achievementGradeId&&achievementGradeNumber == that.achievementGradeNumber&&achievementGradeName == that.achievementGradeName&&isSymbolicAchievement == that.isSymbolicAchievement&&copyrightObjectTypeCode == that.copyrightObjectTypeCode&&copyrightObjectId == that.copyrightObjectId&&copyrightObjectName == that.copyrightObjectName&&dutyDeptId == that.dutyDeptId&&dutyDeptName == that.dutyDeptName&&achievementTypeId == that.achievementTypeId&&awardedTime == that.awardedTime&&cycleStageDataId == that.cycleStageDataId&&cycleId == that.cycleId&&evaObjTargetCycleId == that.evaObjTargetCycleId&&targetCycleContentTypeCode == that.targetCycleContentTypeCode&&targetCycleContentId == that.targetCycleContentId&&rootTargetCategoryId == that.rootTargetCategoryId&&evaluationTemplateId == that.evaluationTemplateId&&evaluationSubjectId == that.evaluationSubjectId&&subjectLifeCycle == that.subjectLifeCycle&&achievementTypeNumber == that.achievementTypeNumber&&achievementTypeName == that.achievementTypeName&&achievementCategoryId == that.achievementCategoryId&&achievementCategoryNumber == that.achievementCategoryNumber&&achievementCategoryName == that.achievementCategoryName&&updateCycleId == that.updateCycleId&&achievementBelongBodyTypeCode == that.achievementBelongBodyTypeCode&&achievementBelongBodyId == that.achievementBelongBodyId&&operationInductionId == that.operationInductionId&&operateTime == that.operateTime&&createTime == that.createTime&&rootObjectiveId == that.rootObjectiveId&&taskName == that.taskName&&achievementNumber == that.achievementNumber&&achievementName == that.achievementName&&relatedDocument == that.relatedDocument&&awardedUnit == that.awardedUnit&&validEndTime == that.validEndTime&&achievementDesc == that.achievementDesc&&unstructuredDataRelationshipId == that.unstructuredDataRelationshipId&&unstructuredDataId == that.unstructuredDataId&&themeContentId == that.themeContentId&&unstructuredDataNumber == that.unstructuredDataNumber&&unstructuredDataName == that.unstructuredDataName&&postfix == that.postfix&&fileSize == that.fileSize&&fileRelativePathAccess == that.fileRelativePathAccess&&fileRelativeAllPathAccess == that.fileRelativeAllPathAccess&&unstructuredDataDetailType == that.unstructuredDataDetailType&&isSupportPreview == that.isSupportPreview&&isUserUpload == that.isUserUpload&&unstructuredDataFolderId == that.unstructuredDataFolderId&&orderNumber == that.orderNumber&&createInductionId == that.createInductionId;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), achievementDockingId,achievementId,achievementGradeId,achievementGradeNumber,achievementGradeName,isSymbolicAchievement,copyrightObjectTypeCode,copyrightObjectId,copyrightObjectName,dutyDeptId,dutyDeptName,achievementTypeId,awardedTime,cycleStageDataId,cycleId,evaObjTargetCycleId,targetCycleContentTypeCode,targetCycleContentId,rootTargetCategoryId,evaluationTemplateId,evaluationSubjectId,subjectLifeCycle,achievementTypeNumber,achievementTypeName,achievementCategoryId,achievementCategoryNumber,achievementCategoryName,updateCycleId,achievementBelongBodyTypeCode,achievementBelongBodyId,operationInductionId,operateTime,createTime,rootObjectiveId,taskName,achievementNumber,achievementName,relatedDocument,awardedUnit,validEndTime,achievementDesc,unstructuredDataRelationshipId,unstructuredDataId,themeContentId,unstructuredDataNumber,unstructuredDataName,postfix,fileSize,fileRelativePathAccess,fileRelativeAllPathAccess,unstructuredDataDetailType,isSupportPreview,isUserUpload,unstructuredDataFolderId,orderNumber,createInductionId);
    }

}
